function printout_dispersion_eq_from_a(CONSTS, plot_data)

    a_min = 0.1;
    a_max = 5;
    num_points = 50;
    
    a_vec = linspace(a_min, a_max, num_points)';
    m_vec = 0; %(-5:5)';

    z_det_vec = zeros(size(a_vec, 1), size(m_vec, 1));
    
    
    if (plot_data)
        figure;
        hold;
        grid;
        title('p_{m,n} from a')
        xlabel('');
        ylabel('');
        %xlim();
        h_dispers = gca; 
        legend_vec = {};
    end

    
    for im = 1:size(m_vec, 1)
        
        m = m_vec(im);
    
        for i = 1:size(a_vec, 1)
            LOCAL_CONSTS = CONSTS;
            LOCAL_CONSTS.a = a_vec(i);
            LOCAL_CONSTS = update_CONSTS(LOCAL_CONSTS);
            
            [~, z_det_vec(i,:)] = func_coef_of_fields(m, LOCAL_CONSTS);
            
            if(z_det_vec(i,:)==0)
                z_det_vec(i,:)=NaN;
            end

        end
    
        if (plot_data)
%             legend_vec = [legend_vec; sprintf('m=%d', m_vec(im))];

            plot(h_dispers, a_vec, z_det_vec(:, im), '.-'); %, ...
%                 'color', [0.3; 0.0; 1.0*(im-1)/(size(m_vec, 1)-1)] ...
%             );
        end
    end

%     if (plot_data)
%         legend(legend_vec);
%     end

end